﻿using System;
using Natrue.Data.FastMapping;

namespace CostTrade.BusinessLayer
{
    /// <summary>
    /// 订单状态
    /// </summary>
    [Flags]
    public enum OrderFormState
    { 
        /// <summary>
        /// 草稿
        /// </summary>
        [Mark("草稿")]
        Draft=0x00,
        /// <summary>
        /// 待发货订单
        /// </summary>
        [Mark("待发货订单")]
        WaitDeliverGoods = 0x01,
        /// <summary>
        /// 已发货订单
        /// </summary>
        [Mark("已发货订单")]
        HasDeliverGoods = 0x02
    }

    /// <summary>
    /// 付款状态
    /// </summary>
    [Flags]
    public enum PayState
    { 
        /// <summary>
        /// 已付清
        /// </summary>
        [Mark("已付清")]
        HasPay = 0x00,
        /// <summary>
        /// 未付清
        /// </summary>
        [Mark("未付清")]
        NoPay = 0x01
    }

    /// <summary>
    /// 付款方式
    /// </summary>
    [Flags]
    public enum PayMethod
    { 
        /// <summary>
        /// 现金
        /// </summary>
        [Mark("现金")]
        Cash = 0x00,
        /// <summary>
        /// 支票 ()
        /// </summary>
        [Mark("支票")]
        Cheque = 0x01,
        /// <summary>
        /// 分期付款
        /// </summary>
        [Mark("分期付款")]
        Payable = 0x02,
        
    }

    /// <summary>
    /// 出、入口单状态
    /// </summary>
    [Flags]
    public enum ExpImpOrderState
    { 
        /// <summary>
        /// 出口单草稿
        /// </summary>
        [Mark("出口单草稿")]
        ExportDraft = 0x00,
        /// <summary>
        /// 待发货
        /// </summary>
        [Mark("待发货")]
        ExportWaitSend = 0x01,
        /// <summary>
        /// 已发货
        /// </summary>
        [Mark("已发货")]
        ExportWaitFinish = 0x02,
        /// <summary>
        /// 已收货
        /// </summary>
        [Mark("已收货")]
        HasRevice = 0x03,
        /// <summary>
        /// 配送中
        /// </summary>
        [Mark("配送中")]
        Sending = 0x04,
        /// <summary>
        /// 待点货
        /// </summary>
        [Mark("待点货")]
        WaitTallying = 0x05,
        /// <summary>
        /// 完成点货
        /// </summary>
        [Mark("完成点货")]
        FinishTallying = 0x06
    }
}